#pragma once
#include "vtkkwcompositewidget.h"
#include "testgui.h"
#include "EndoscopeLogic.h"
#include "endoscoperenderwidget.h"
#include <vtkKWTkUtilities.h>
#include <vtkSlicerWidget.h>
class vtkKWRenderWidget;

class /*__declspec( dllexport )*/ vtkEndoscopeWidget :
	public vtkSlicerWidget
{
public:
	static vtkEndoscopeWidget * New ();
	  vtkTypeRevisionMacro(vtkEndoscopeWidget, vtkSlicerWidget);
	~vtkEndoscopeWidget(void);
	vtkSetObjectMacro(ESLogic, EndoscopeLogic);
	vtkGetObjectMacro(RenderWidget, vtkEndoscopeRenderWidget);

private:
	vtkEndoscopeRenderWidget *RenderWidget;
	EndoscopeLogic * ESLogic;
protected:
	void CreateWidget(void);
	vtkEndoscopeWidget(void);
	// Not Implemented
	vtkEndoscopeWidget(const vtkEndoscopeWidget &);
	void operator = (const vtkEndoscopeWidget & );
public:
	vtkKWWidget * Pack(vtkKWWidget *frame);
	void BuildGUI(void);
	
};
